/**
 * Created by kroyo on 2017/8/4.
 */



//1.返回顶部按钮事件
var scrolltop;
var goTop = $(".sub-top");

//1.1给window  添加滚动事件
$(window).scroll(function(){

    //滚动时收起下拉列表
    $(".select-arrow").removeClass("active");
    $(".select-block").css('height','0');
    off = true;

    //显示返回顶部按钮
    showbtn();
    var navHeight =  $(".nav").first().height();
    if(scrolltop>navHeight){
        $('.scrollNav').css('top','0');
    }else{
        $('.scrollNav').css('top','');
    }
})
$(".sub-top a").click(function(){
    $('body,html').animate({ scrollTop: 0 }, 500);
})
//显示回到顶部的按钮
function showbtn(){
    scrolltop = $(window).scrollTop();
    if(scrolltop>0){
        goTop.css('display','block');
    }else{
        goTop.css('display','none');
    }
}
showbtn();



//2.跟随导航栏的mouseover 显示下拉列表
var snavlist  =  '.scrollNav .navlist';
$(snavlist).mouseover(function(){
    $(snavlist+' ul').css('height','200px');
})
$(snavlist).mouseout(function(){
    $(snavlist+' ul').css('height','');
})





//3.登录窗口
var $win_code = $('#login-wrap .win-code'),
	$win_ps   = $('#login-wrap .win-password'),
	$type_code = $('#login-wrap .type-code'),
	$type_ps   = $('#login-wrap .type-ps');
//3.登录窗口弹出与关闭
$('.user-login').click(function(){
    $('#login-wrap').css('display','block');

});
$('.login-close').click(function(){
    $('#login-wrap').css('display','none');
    $('#login-wrap input[type=reset]').trigger('click');
    $('#login-wrap .check-wrap').removeClass('active');

	changeLoginType(true);
	initTimer('#login-wrap ');
});

$('.login .send-code').on('click',function(){
    timer('.login');
});


//账号登录与手机登录的切换
$type_code.on('click',function(){
	changeLoginType(true);
});
$type_ps.on('click',function(){
	changeLoginType(false);
});
function changeLoginType(off){
	if(off){
		$win_code.css('display','block');
		$win_ps.css('display','none');
		$type_code.addClass('active');
		$type_ps.removeClass('active');
	}else{
		$win_code.css('display','none');
		$win_ps.css('display','block');
		$type_ps.addClass('active');
		$type_code.removeClass('active');
	}
}



//服务协议弹窗
function agreeView(){
    $('#s-agreement').css('display','block');
    $('body').css('overflow','hidden');
}
function agreeClose(){
    $('#s-agreement').css('display','none');
    $('body').css('overflow','hidden');
}




//注册窗口
var $win_register = $('#register-wrap'),
    $close_register = $('#register-warp .register-close');
$('#login-wrap .registerskip').click(function(){
    $('#login-wrap').css('display','none');
    $win_register.fadeIn();
});
//关闭注册窗口
function closeRegister(){
    $win_register.fadeOut();
    initTimer('#register-wrap ');
    $('#register-wrap input[type=reset]').trigger('click');
}
//发送验证码
$('#register-wrap .send-code').click(function(){
	timer('#register-wrap ');
});

//提交前  先进行判空
$('#register-wrap .submit').click(function(){
    var $input = $('#register-wrap .infoli input'),
        $phone = $('#register-wrap .company-phone input');

    for(var i = 0;i<$input.length;i++){
        if($input.eq(i).val()==''){
            $input.eq(i).parent().addClass('active');
            $input.focusin(function(){
                $(this).parent().removeClass('active');
            });
        }
    }

    if($input.val()==''){
        return false;
    }
});
//初始化发送验证码的定时器
function initTimer(selector){
	clearInterval(timerCode);
    $(selector+' .send-code').removeAttr('disabled');
    $(selector+' .send-code').removeClass('disabled');
    $(selector+' .send-code').text('发送');
}




//1.冒泡事件  减少点击事件的添加
$('#web').on('click',function(e){
    var target = e.target;
    switch(true){
        //1.发布需求  按钮点击事件   弹出‘发布需求’弹窗
        case hasClass(target,'btn-publish'):
            pbox('#postdemand');
            break;
        //2.成为服务方  按钮点击事件  弹出‘成为服务方’弹窗
        case hasClass(target,'btn-join'):
            pbox('#service');
            break;
        //3.发布需求 、 成为服务方、弹窗  关闭按钮  关闭弹窗并初始化数据
        case hasClass(target,'close')||hasClass(target,'btn-close'):
            sbox('#postdemand');
            sbox('#service');
            newChange();
            break;
        //4.发布需求弹窗 里面的步骤按钮点击事件
        //1.1 下一步
        case hasClass(target,'next'):
            $('.pop-window').css('display','none');
            if(mustf()){
                nextBtn('.basic-info','.detail');
            }
            break;
        //1.2 返回上一步
        case hasClass(target,'btn-back'):
            nextBtn('.detail','.basic-info');
            break;
        //1.3 保存按钮
        case hasClass(target,'btn-skip'):
            nextBtn('.detail','.present');
            break;
        //1.4 发布一个新的需求
        case hasClass(target,'btn-new'):
            newChange();
            break;
        //5.搜索类型选择  下拉列表
        //5.1 跟随nav  scrollNav中的选择
        case hasClass(target,'s-set'):
            selectChanged(0);
            break;
        //5.2 固定在顶部的nav中的选择框
        case hasClass(target,'nav-select'):
            selectChanged(1);
            break;
        //9. 下拉列表弹出时，点击屏幕其他地方  收起下拉列表
        default:
            $(".select-arrow").removeClass("active");
            $(".select-block").css('height','0');
            off = true;
            //跟随下拉列表
            $('.scrollNav .navlist ul').css('height','0');
            onOff = true;
    }
})
//2.事件委托 所需的判断 判断是否存在某个class
function hasClass(target,selector){
    var val = target.className.indexOf(selector);
    if(val>=0){
        return true;
    }else{
        return false;
    }
}
//3.弹出弹窗时  显示弹窗并去除滚动条
function pbox(selector){
    $('body').css('overflow','hidden');
    $(selector).css('display','block');
}
//4.收起弹出框  关闭弹窗并初始化表单数据
function sbox(selector){
    $('body').css('overflow','auto');
    $(selector).css('display','none');

    $(selector+' input[type=reset]').trigger('click');

    clearInterval(timerCode);
    $(selector+' .send-code').removeAttr('disabled');
    $(selector+' .send-code').removeClass('disabled');
    $(selector+' .send-code').text('点击发送');

    $('.btn-skip').text('跳过直接提交');

    //初始化设计预算显示模块
    changeShow('co-model','.price-wrap','.invest');

    if(selector=='#postdemand'){
        hiddenhit('.company-phone',0);
        hiddenhit('.com-code',1);
        hiddenhit('.company-name',2);
    }
}


//5.下一步按钮事件
function nextBtn(sel1,sel2){
    $(sel1).css('display','none');
    $(sel2).css('display','block');
}
//5.1第一步 需要做必填的验证
function mustf(){
    var sel1 = '.company-phone';
    var sel2 = '.com-code';
    var sel3 = '.company-name';

    var val1 = selectbor(sel1,0);
    var val2 = selectbor(sel2,1);
    var val3 = selectbor(sel3,2);
    if(val1&&val2&&val3){
        return true;
    }else{
        return false;
    }
}
var hint = $('#postdemand .hint');
function selectbor(sel,num){
    var value = $(sel+' input');
    if(value.val()==''){
        hint.eq(num).css('display','block');
        value.css('border-color','red');

        $('.alert-view').css('top','-100px');
        $('.alert-view').css('opacity','0');

        return false;
    }else{
        hint.eq(num).css('display','none');
        value.css('border-color',' ');
        return true;
    }
}
//5.1 监听必填是否输入
listener('.company-phone',0);
listener('.com-code',1);
listener('.company-name',2);
function listener(sel,num){
    $(sel+' input').bind('input propertychange', function() {
        //进行相关操作
        selectbor(sel,num);
    });
}
//5.2 关闭窗口时 隐藏提示
function hiddenhit(sel,num){
    var value = $(sel+' input');
    hint.eq(num).css('display','none');
    value.css('border-color','#dcdcdc');
}

//6.添加一个新需求,清空数据
function newChange(){

    $('#postdemand input[type=reset]').trigger('click');

    nextBtn('.detail','.basic-info');
    $('.present').css('display','none');
    $('.check-wrap').removeClass('active');

    budget();
    deBudget();
    changeShow('s-content','.price-cate1','.price-cate2');

    $('.designtype .check-wrap').eq(0).addClass('active');
    $('.btn-skip').text('跳过直接提交');

    clearInterval(timerCode);
    var selector = '.basic-info .send-code';
    $(selector).removeAttr('disabled');
    $(selector).removeClass('disabled');
    $(selector).text('点击发送');

    //上传文件的清空显示
    $('#ossfile').empty();

    //初始化设计预算显示模块
    changeShow('co-model','.price-wrap','.invest');

    $('.pop-window').css('display','none');
}

//7.选项卡方法  使用div自定义的select
var off = true;
function selectChanged(index){

    var selector = '.fixnav';
    var sel = '.scrollNav';
    if(index == 0){
        selector = '.scrollNav';
        sel = '.fixnav';
    }

    var $selist = $(selector+" .select-list .select-items");
    var $selectlist = $(sel+' .select-list .select-items');
    var $arrow = $(selector+" .select-arrow");
    var $block = $(selector+" .select-block");
    //判断选项卡时弹出还是隐藏  单击弹出(off=true)  双击隐藏(off=false)
    if(off){
        $arrow.addClass('active');
        $block.css('height','120px');
        off = false;
    }else{
        $arrow.removeClass('active');
        $block.css('height','0px');
        off = true;
    }
    //弹出的窗体(即选项卡)  当选择了时，标记选择并进行显示所选项的数据更新(.select-set)
    $selist.on('click',function(){
        var id = $(this).index();

        $selist.removeClass('active');
        $selist.eq(id).addClass('active');
        $selectlist.removeClass('active');
        $selectlist.eq(id).addClass('active');

        $('.select-set').text($(this).text());
    })
}


/**8.弹窗内容(成为服务方与发布需求)**/
$('form').change(function(){
    //控制设计预算的显示 只有选择了'设计方案'才会显示设计预算
    radioValue('designschme','.design-budget','visibility','visible');
    //切换设计预算的额度  全新设计与优化设计  有两种不同的额度
    changeShow('s-content','.price-cate1','.price-cate2');
    //切换设计预算显示模块
    changeShow('co-model','.price-wrap','.invest');

    //detail页  按钮转换 即当第二步数据填写了时，按钮文本变成 '保存并提交'
    btnChanged();

    //登录窗口 密码登录与验证码登录的判定
//  changeShow('logintype','.login-code','.login-ps');
});


function radioValue(name,sel,protype,value){
    var val = $('input:radio[name="'+name+'"]:checked').val();
    if(val!=null){
        $(sel).css(protype,value);
    }
}
function changeShow(name,sel1,sel2){
    var val = $('input:radio[name="'+name+'"]:checked').attr('data-val');
    if(val==0){
        $(sel1).css('display','block');
        $(sel2).css('display','none');
    }else{
        $(sel1).css('display','none');
        $(sel2).css('display','block');
    }
}

//设计预算隐藏
function budget(){
    var value = $('.designschme .check-wrap');
    if(value.hasClass('active')){
        $('.basic-info .design-budget').css('display','block');
        $('.basic-info .design-budget').css('opacity','1');
    }else{
        $('.basic-info .design-budget').css('display','none');
        $('.basic-info .design-budget').css('opacity','0');
    }
}
function deBudget(){
    var val = $('.basic-info .budget .check-wrap');
    if(val.eq(0).hasClass('active')||val.eq(1).hasClass('active')){
        $('.basic-info .de-budget').css('visibility','visible');
    }else{
        $('.basic-info .de-budget').css('visibility','hidden');
    }
}

//detail页  按钮转换
var f1,f2,f3;
function btnChanged(){
    $(".detail input").each(function(i, obj) {
        if(obj.value != "") {
            f1 = true;
            return false;
        }else{
            f1 = false;
        }
    });
    $(".detail textarea").each(function(i, obj) {
        if(obj.value != "") {
            f2 = true;
            return false;
        }else{
            f2 = false;
        }
    });
    $(".detail .check-wrap").each(function(i, obj) {
        if($(".detail .check-wrap").eq(i).hasClass('active')) {
            f3 = true;
            return false;
        }else{
            f3 = false;
        }
    });
    //判断
    if(f1||f2||f3){
        $('.btn-skip').text('保存并提交');
    }else{
        $('.btn-skip').text('跳过直接提交');
    }
}

/**9.了解模式的区别弹窗**/
$('.btn-pop').click(function(){
    $('.pop-window').css('display','block');
})
$('.pclosBtn').click(function(){
    $('.pop-window').css('display','none');
})

//多选按钮组相应事件
$('.check-wrap').on('click',function(){
    $(this).toggleClass('active');

    //设计预算区域显示
    deBudget();

    budget();

    //跳过按钮文字变化
    btnChanged();
})

//input框foucus border变颜色
$('input').on('focusin',function(){
    $(this).css('border-color','#399bff');
});
$('input').on('focusout',function(){
    $(this).css('border-color','');
})

//10.手机号码验证
var phonet =  $('#postdemand .phone').on('focusout',function(){
    phoneVer('#postdemand');
})
function phoneVer(sel){
    var reg = /^(13|15|18)\d{9}$/;

    if(!reg.test($(sel+' .phone').val())){
        //提示框从顶部滑落
        $('.alert-view .text').text('请输入有效的手机号码！');
        $('.alert-view').css('top','120px');
        $('.alert-view').css('opacity','1');
        //定时  alert-view的显示时间
        var atime = setTimeout(function(){
            $('.alert-view').css('top','-100px');
            $('.alert-view').css('opacity','0');
            clearTimeout(atime);
        },2000);
        return false;
    }
}

//手机验证码 倒计时
$('#postdemand .send-code').on('click',function(){
    timer('#postdemand');
})

//时间问题  date  事件选择框
$('.date input[type="date"]').on('change',function(){
    var value = $(this).val();
    var arr = [];
    if(value!=''){
        arr = value.split('-');
        $(this).next().val(arr[0]+'年'+arr[1]+'月'+arr[2]+'日');
    }else{
        $(this).next().val('2017年7月30日');
    }

    //时间范围  即结束时间必须大于登录开始时间
    var maxTime = $('.date input[type="date"]').last().val();
    var minTime = $('.date input[type="date"]').first().val();
    $('.date input[type="date"]').first().attr('max',maxTime);
    $('.date input[type="date"]').last().attr('min',minTime);
})


//8.成为服务方下   手机号码的验证   手机验证码的倒计时
$('#service .phone').focusout(function(){
    phoneVer('#service');
})
$('#service .send-code').on('click',function(){
    timer('#service');
})



//9.计时器方法
var timerCode = null;
function timer(sel){
    var countdown = 60;
    var countt ;
    var selector = sel+' .send-code';
    console.log(phoneVer(sel));
    if(phoneVer(sel)==false){
        return;
    }
    $(selector).text(countdown+' s');
    $(selector).addClass('disabled');
    timerCode = setInterval(function(){
        countdown--;
        countt = ''+countdown+' s';
        $(selector).text(countt);
        $(selector).attr('disabled','true');
        if(countdown<0){
            $(selector).removeAttr('disabled');
            $(selector).removeClass('disabled');
            $(selector).text('重发');
            clearInterval(timerCode);
        }
    },1000);
}


//是否退出登录的 弹窗关闭按钮
$('.mClose').click(function(){
    $('.message-wrap').css('display','none');
})
$('.btn-default').click(function(){
    $('.message-wrap').css('display','none');
})



//搜索按钮的点击事件
$('#web .nav .submit').click(function () {
    window.location.href = 'html/search-service.html';
})




$('.nav .navlogin').first().addClass('active');
$('.no-login').css('display','none');
$('.a-login').css('display','block');



